1. Field of the Invention
The present invention relates in general to a word processor or a text processing apparatus or system capable of performing calculating operations associated with numerical values included in a table of data according to mathematical expressions also included in the table. More particularly, the present invention is concerned with techniques relating to re-calculating operations to solve the mathematical expressions upon changing of an existing data table before storing or printing the changed data table.
2. Discussion of the Related Art
Word processors adapted to deal with Japanese-Chinese characters or alphabetic or European language characters are known and used. These word processors have various functions such as: a basic text input function; a function of moving or copying a desired portion of a text; a function of storing selected words or phrases for subsequent use; a function of modifying characters; a function of creating a table of data or spread sheet; and other functions necessary to create and edit a text.
Such word processors of modern vintage have an optional function of performing calculating operations to solve mathematical expressions included in a data table. For example, this calculating function (referred to as "spread-sheet calculating function" where appropriate) finds application in the preparation or creation of a pay roll (pay sheet), a list of students' records and an estimate sheet. Usually, a table of data or spread sheet has data areas (also called "fields" or "cells") which are defined by a plurality of parallel rows and a plurality of parallel columns perpendicular to the rows. In these data areas, there are accommodated or placed respective items of the table, which include numerical values and mathematical expressions (mostly, algebraic formulas) entered by the operator of the word processor. The word processor automatically performs calculating operations to solve the mathematical expressions. For instance, mathematical expressions in the form of algebraic formulas for summing the numerical values in each row and/or the numerical values in each column are included in the last row and/or the last column of the table. The data table is displayed, with the results of the calculating operations being placed in the appropriate data areas. See a table in FIG. 10 in which results of summing operations are placed in Row 4 and Column D.
In a spread-sheet calculation mode in which the calculating operations to solve mathematical expressions are performed as described above, the word processor deals with the numerical values and mathematical expressions as data different from ordinary text data. That is, data processed in the spread-sheet calculation mode conform with a spread-sheet calculation format, while text data processed in a text creation mode conform with a text creation format.
An example of a table of data (table of items) is illustrated below.
______________________________________ A B C D ______________________________________ 1 10 16 .times. 4.25 32 A1 + B1 + C1 2 35 1.55 .times. 10.sup.2 25 A2 + B2 + C2 3 A1 + A2 B1 + B2 C1 + C2 A1 + A2 + B1 + B2 + C1 + C2 ______________________________________
In the above example, the twelve data areas are defined by three rows and four columns, and are identified by respective combinations of a row address (1, 2 or 3) and a column address (A, B, C or D). Purely numerical values are placed in the data areas A1, A2, C1 and C2, while mathematical expressions are placed in the data areas A3, B1, B2, B3, C3, D1, D2 and D3. Generally, each mathematical expression consists of a plurality of operands, and at least one operator. The operators are represented by operation symbols such as "+", "-", ".times.", and ".div." for addition, subtraction, multiplication and divisions, respectively. An operand in a mathematical expression is either a numerical value as in the mathematical formulas in the data areas B1 and B2, or is specified by an address code which consists of the row and column addresses of one of the data areas of the table, as in the algebraic formulas in the data areas A3, B3, C3 and D1-D3. Such address code represents the numerical value placed in the data area specified. In the above table, the address code A1 in the algebraic formula in the data area A3 represents the numerical value "10" in the data area A1, for example. Thus, the mathematical expression is either a mathematical formula which consists of numerical values and at least one operator, or an algebraic formula which consists of address codes and at least one operator.
In some of the known word processors having the table or spread-sheet calculating function as described above, calculating operations are performed in a selected automatic or manual mode, when a new data table is created or when an existing data table is changed. In the automatic mode, re-calculating operations are automatically performed for all the mathematical expressions included in the existing table, each time a numerical value or mathematical expression is entered during a data entry operation to change or update the existing table. The re-calculation takes place for all the mathematical expressions (mathematical formulas and algebraic formulas), regardless of whether the newly entered numerical value is the same as or different from the corresponding original or existing value. Further, all the mathematical expressions are solved again even if the changed numerical value relates to only some limited algebraic formulas. For instance, if the numerical value "10" in the data area A1 in the above exemplary table is changed to "12" for example, re-calculating operations are effected to solve all the algebraic formulas in the data areas A3, B3, C3 and D1-D3. In fact, the re-calculation is necessary for only the formulas in the data areas A3, D1 and D3. If the algebraic formula "C1+C2" in the data area C3 is changed to "C1-C2", for example, all the formulas including the unchanged formulas are solved, though the re-calculation is necessary for only the changed formula "C1-C2".
In the manual mode, on the other hand, re-calculating operations are automatically effected only when any mathematical expression (algebraic formula) including address codes is entered during an operation to change the existing data table. In the manual mode, however, re-calculating operations to solve the unchanged algebraic formulas will not be performed, even when a numerical value used as an operand in some of the unchanged algebraic formulas is changed. To solve the unchanged algebraic formulas associated with the changed numerical value, the operator should use an appropriate function key and cursor keys. If the original value "10" in the data area A1 in the above exemplary table is changed to "12", for example, the operator should use the cursor keys to designate the data area A3 accommodating the algebraic formula "A1+A2", after the operation of the appropriate function key, to effect re-calculation for solving the formula "A1+A2". Similarly, the data areas D1 and D3 should be designated by the cursor keys to solve the formulas "A1+B1+C1" and "A1+A2+B1+B2+C1+C2".
Thus, the known word processors suffer from an unnecessary calculating time in the automatic mode, since the automatic re-calculation takes place for all the algebraic formulas each time a numerical value or mathematic expression of the existing table is entered during an operation to change or update the existing table. Thus, the unchanged algebraic formulas are re-calculated unnecessarily even when the re-entered numerical value or mathematical expression is the same as the original or existing value or expression, or even when the changed numerical value or mathematical expression is used in only selected ones of the algebraic formulas, or even when the data table does not include any algebraic formulas. Accordingly, the operator should wait a considerable time after entry of each numerical value or or mathematical expression during data entry to update the existing table. The re-calculating operation requires an interruption of the operator's operation to update the existing table. If the table includes relatively large numbers of mathematical expressions and numerical values, the interruption time due to the re-calculation to solve all the mathematical expressions tends to be long, whereby the operator is unable to concentrate on the operation to update the existing table. Consequently, the text creating efficiency tends to be low.
In the manual mode, too, the re-calculating operations are performed for all the mathematical expressions if any mathematical expression is entered during an operation to change the existing data table. Thus, all the formulas are solved even if the newly entered mathematical expression is the same as the corresponding original expression. In this respect, the re-calculation is effected unnecessarily. Further, since the re-calculation to solve the algebraic formulas is not automatically effected even when a numerical value is changed from the original value in the existing table, there is a possibility that the operator fails or forgets to take the appropriate manipulation through the keyboard, to solve the unchanged algebraic formula or formulas, due to a change of some numerical values in the existing table. In this case, the data table contains an erroneous value or values as the result or results of the unchanged algebraic formula or formulas. Moreover, the operator may designate the algebraic formulas which need not be solved upon changing of some numerical values in the existing data table.